//package com.jsh.erp.task;
//
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
//import com.jsh.erp.datasource.entities.User;
//import com.jsh.erp.service.depot.DepotService;
//import com.jsh.erp.service.systemConfig.SystemConfigService;
//import com.jsh.erp.service.user.UserService;
//import com.jsh.erp.utils.GetUtil;
//import com.jsh.erp.utils.NoticeUtil;
//import com.jsh.erp.utils.ResourcesUtil;
//import com.jsh.erp.utils.StringUtil;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.scheduling.annotation.EnableScheduling;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//import java.math.BigDecimal;
//import java.util.List;
//
//@Component
//@Configuration
//@EnableScheduling
//public class SynchroTask {
//
//    @Resource
//    private UserService userService;
//
//    @Resource
//    private DepotService depotService;
//
//    @Resource
//    private SystemConfigService systemConfigService;
//
//    @Value(value = "${Info.url}")
//    private String infoUrl;
//    @Value(value = "${all.url}")
//    private String allUrl;
//    @Value(value = "${allocation.url}")
//    private String allocationUrl;
//    @Value(value = "${basic.url}")
//    private String basicUrl;
////    @Value(value = "${user.tenant.id}")
////    private String tenantId;
//    @Value(value = "${update.flag.url}")
//    private String updateFlagUrl;
//
//    private static final String tenantId = ResourcesUtil.getValue("TenantId", "user.tenant.id");
//
//    /**
//     * 同步调拨单
//     * 总仓需注释此方法
//     */
//    @Scheduled(cron = "0 0/10 * * * ?")  //每5分钟执行一次
//    public void task() throws Exception {
//
//        User user = userService.getManager();
//        if (user != null) {
//            String remark = user.getRemark();
//            JSONObject newJsonObject = new JSONObject();
//            if (StringUtils.isNotEmpty(remark)){
//                //下拉调拨
//                List<String> idListString = systemConfigService.getTenantDepotIdList();
//                String idList = StringUtil.listToString(idListString);
//                String url=remark+infoUrl+"?idList="+idList;
//                String jsonObject = GetUtil.get(url);
//                if (!StringUtils.isEmpty(jsonObject)){
//                    newJsonObject = JSONObject.parseObject(jsonObject);
//                }
//                systemConfigService.synchronizationAllocation(newJsonObject,null);
//                //修改办公室下发的采购订单、厂家直发、盘点单，其它出入库的状态
//                String upFlagUrl=remark+updateFlagUrl;
//                NoticeUtil.sendPost(upFlagUrl,newJsonObject);
//                //上传调拨
//                String upUrl=remark+allocationUrl;
//                JSONObject upJsonObject = systemConfigService.getUpInfoNewJsonObject();
//                String allocationData = NoticeUtil.sendPost(upUrl, upJsonObject);
//                JSONObject allocationDataJSON=JSONObject.parseObject(allocationData);
//                Integer allocationCode = (Integer)allocationDataJSON.get("code");
//                if (allocationCode !=null && allocationCode==200){
//                    systemConfigService.updateAllocationUploadFlag(upJsonObject);
//                }
//            }
//        }
//
//    }
//
//    /**
//     * 下拉基础数据
//     * 总仓需注释此方法
//     * @throws Exception
//     */
//    @Scheduled(cron = "0 0/10 * * * ?")
//    public void getBasicDataTask() throws Exception {
//
//        User user = userService.getManager();
//        if (user != null) {
//            String remark = user.getRemark();
//            JSONObject newJsonObject = new JSONObject();
//            if (StringUtils.isNotEmpty(remark)){
//                String url=remark+basicUrl+"?tenantId="+tenantId+"&flag="+false;
//                String jsonObject = GetUtil.get(url);
//                if (!StringUtils.isEmpty(jsonObject)){
//                    newJsonObject = JSONObject.parseObject(jsonObject);
//                }
//                systemConfigService.synchronizationBasicData(newJsonObject,false);
//            }
//        }
//    }
//
//    /**
//     * 上传分仓所有数据
//     * 总仓需注释此方法
//     */
//    @Scheduled(cron = "0 0/10 * * * ?") //每天执行一次，每天晚上12点
//    public void synchronizationNewJsonObject() throws Exception {
//        User user = userService.getManager();
//        if (user != null) {
//            String remark = user.getRemark();
//            if (StringUtils.isNotEmpty(remark)){
//                String url=remark+allUrl;
//                JSONObject jsonObject = systemConfigService.getTaskNewJsonObject();
//                String data = NoticeUtil.sendPost(url, jsonObject);
//                JSONObject dataJSON=JSONObject.parseObject(data);
//                Integer code = (Integer)dataJSON.get("code");
//                if (code != null && code ==200) {
//                    systemConfigService.updateTaskNewJsonUploadFlag(jsonObject);
//                }
//            }
//        }
//    }
//}
